home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1998 January: Mac OS SDK / Dev.CD Jan 98 SDK1.toast / Development Kits (Disc 1) / Interfaces&Libraries / Universal / Interfaces / AIncludes / AppleTalk.a < prev    next >
Encoding:
Text File  |  1997-08-12  |  34.9 KB  |  1,147 lines  |  [TEXT/MPS ]

  1. ;
  2. ;    File:        AppleTalk.a
  3. ;
  4. ;    Contains:    AppleTalk Interfaces.
  5. ;
  6. ;    Version:    Technology:    System 7.5
  7. ;                Release:    Universal Interfaces 3.0.1
  8. ;
  9. ;    Copyright:    © 1985-1997 by Apple Computer, Inc., all rights reserved
  10. ;
  11. ;    Bugs?:        Please include the the file and version information (from above) with
  12. ;                the problem description.  Developers belonging to one of the Apple
  13. ;                developer programs can submit bug reports to:
  14. ;
  15. ;                    devsupport@apple.com
  16. ;
  17. ;
  18.     IF &TYPE('__APPLETALK__') = 'UNDEFINED' THEN
  19. __APPLETALK__ SET 1
  20.  
  21.     IF &TYPE('__TYPES__') = 'UNDEFINED' THEN
  22.     include 'Types.a'
  23.     ENDIF
  24.     IF &TYPE('__OSUTILS__') = 'UNDEFINED' THEN
  25.     include 'OSUtils.a'
  26.     ENDIF
  27.  
  28.  
  29.                                                             ; Driver unit numbers (ADSP is dynamic) 
  30. mppUnitNum                        EQU        9                    ; MPP unit number 
  31. atpUnitNum                        EQU        10                    ; ATP unit number 
  32. xppUnitNum                        EQU        40                    ; XPP unit number 
  33.  
  34.                                                             ; Driver refNums (ADSP is dynamic) 
  35. mppRefNum                        EQU        -10                    ; MPP reference number 
  36. atpRefNum                        EQU        -11                    ; ATP reference number 
  37. xppRefNum                        EQU        -41                    ; XPP reference number 
  38.  
  39.                                                             ; .MPP csCodes 
  40. lookupReply                        EQU        242                    ; This command queued to ourself 
  41. writeLAP                        EQU        243                    ; Write out LAP packet 
  42. detachPH                        EQU        244                    ; Detach LAP protocol handler 
  43. attachPH                        EQU        245                    ; Attach LAP protocol handler 
  44. writeDDP                        EQU        246                    ; Write out DDP packet 
  45. closeSkt                        EQU        247                    ; Close DDP socket 
  46. openSkt                            EQU        248                    ; Open DDP socket 
  47. loadNBP                            EQU        249                    ; Load NBP command-executing code 
  48. lastResident                    EQU        249                    ; Last resident command 
  49. confirmName                        EQU        250                    ; Confirm name 
  50. lookupName                        EQU        251                    ; Look up name on internet 
  51. removeName                        EQU        252                    ; Remove name from Names Table 
  52. registerName                    EQU        253                    ; Register name in Names Table 
  53. killNBP                            EQU        254                    ; Kill outstanding NBP request 
  54. unloadNBP                        EQU        255                    ; Unload NBP command code 
  55. setSelfSend                        EQU        256                    ; MPP: Set to allow writes to self 
  56. SetMyZone                        EQU        257                    ; Set my zone name 
  57. GetATalkInfo                    EQU        258                    ; get AppleTalk information 
  58. ATalkClosePrep                    EQU        259                    ; AppleTalk close query 
  59.  
  60.                                                             ; .ATP csCodes 
  61. nSendRequest                    EQU        248                    ; NSendRequest code 
  62. relRspCB                        EQU        249                    ; Release RspCB 
  63. closeATPSkt                        EQU        250                    ; Close ATP socket 
  64. addResponse                        EQU        251                    ; Add response code | Require open skt 
  65. sendResponse                    EQU        252                    ; Send response code 
  66. getRequest                        EQU        253                    ; Get request code 
  67. openATPSkt                        EQU        254                    ; Open ATP socket 
  68. sendRequest                        EQU        255                    ; Send request code 
  69. relTCB                            EQU        256                    ; Release TCB 
  70. killGetReq                        EQU        257                    ; Kill GetRequest 
  71. killSendReq                        EQU        258                    ; Kill SendRequest 
  72. killAllGetReq                    EQU        259                    ; Kill all getRequests for a skt 
  73.  
  74.                                                             ; .XPP csCodes 
  75. openSess                        EQU        255                    ; Open session 
  76. closeSess                        EQU        254                    ; Close session 
  77. userCommand                        EQU        253                    ; User command 
  78. userWrite                        EQU        252                    ; User write 
  79. getStatus                        EQU        251                    ; Get status 
  80. afpCall                            EQU        250                    ; AFP command (buffer has command code) 
  81. getParms                        EQU        249                    ; Get parameters 
  82. abortOS                            EQU        248                    ; Abort open session request 
  83. closeAll                        EQU        247                    ; Close all open sessions 
  84. xCall                            EQU        246                    ; .XPP extended calls 
  85.  
  86.                                                             ; Transition Queue transition types 
  87. ATTransOpen                        EQU        0                    ;AppleTalk has opened
  88. ATTransClose                    EQU        2                    ;AppleTalk is about to close
  89. ATTransClosePrep                EQU        3                    ;Is it OK to close AppleTalk ?
  90. ATTransCancelClose                EQU        4                    ;Cancel the ClosePrep transition
  91.  
  92. afpByteRangeLock                EQU        1                    ;AFPCall command codes
  93. afpVolClose                        EQU        2                    ;AFPCall command codes
  94. afpDirClose                        EQU        3                    ;AFPCall command codes
  95. afpForkClose                    EQU        4                    ;AFPCall command codes
  96. afpCopyFile                        EQU        5                    ;AFPCall command codes
  97. afpDirCreate                    EQU        6                    ;AFPCall command codes
  98. afpFileCreate                    EQU        7                    ;AFPCall command codes
  99. afpDelete                        EQU        8                    ;AFPCall command codes
  100. afpEnumerate                    EQU        9                    ;AFPCall command codes
  101. afpFlush                        EQU        10                    ;AFPCall command codes
  102. afpForkFlush                    EQU        11                    ;AFPCall command codes
  103. afpGetDirParms                    EQU        12                    ;AFPCall command codes
  104. afpGetFileParms                    EQU        13                    ;AFPCall command codes
  105. afpGetForkParms                    EQU        14                    ;AFPCall command codes
  106. afpGetSInfo                        EQU        15                    ;AFPCall command codes
  107. afpGetSParms                    EQU        16                    ;AFPCall command codes
  108. afpGetVolParms                    EQU        17                    ;AFPCall command codes
  109. afpLogin                        EQU        18                    ;AFPCall command codes
  110. afpContLogin                    EQU        19                    ;AFPCall command codes
  111. afpLogout                        EQU        20                    ;AFPCall command codes
  112. afpMapID                        EQU        21                    ;AFPCall command codes
  113. afpMapName                        EQU        22                    ;AFPCall command codes
  114. afpMove                            EQU        23                    ;AFPCall command codes
  115. afpOpenVol                        EQU        24                    ;AFPCall command codes
  116. afpOpenDir                        EQU        25                    ;AFPCall command codes
  117. afpOpenFork                        EQU        26                    ;AFPCall command codes
  118. afpRead                            EQU        27                    ;AFPCall command codes
  119. afpRename                        EQU        28                    ;AFPCall command codes
  120. afpSetDirParms                    EQU        29                    ;AFPCall command codes
  121. afpSetFileParms                    EQU        30                    ;AFPCall command codes
  122. afpSetForkParms                    EQU        31                    ;AFPCall command codes
  123. afpSetVolParms                    EQU        32                    ;AFPCall command codes
  124. afpWrite                        EQU        33                    ;AFPCall command codes
  125. afpGetFlDrParms                    EQU        34                    ;AFPCall command codes
  126. afpSetFlDrParms                    EQU        35                    ;AFPCall command codes
  127. afpDTOpen                        EQU        48                    ;AFPCall command codes
  128. afpDTClose                        EQU        49                    ;AFPCall command codes
  129. afpGetIcon                        EQU        51                    ;AFPCall command codes
  130. afpGtIcnInfo                    EQU        52                    ;AFPCall command codes
  131. afpAddAPPL                        EQU        53                    ;AFPCall command codes
  132. afpRmvAPPL                        EQU        54                    ;AFPCall command codes
  133. afpGetAPPL                        EQU        55                    ;AFPCall command codes
  134. afpAddCmt                        EQU        56                    ;AFPCall command codes
  135. afpRmvCmt                        EQU        57                    ;AFPCall command codes
  136. afpGetCmt                        EQU        58                    ;AFPCall command codes
  137. afpAddIcon                        EQU        192                    ;Special code for ASP Write commands
  138.  
  139. xppLoadedBit                    EQU        5                    ; XPP bit in PortBUse 
  140. scbMemSize                        EQU        192                    ; Size of memory for SCB 
  141. xppFlagClr                        EQU        0                    ; Cs for AFPCommandBlock 
  142.  
  143. xppFlagSet                        EQU        128                    ; StartEndFlag & NewLineFlag fields. 
  144.  
  145. lapSize                            EQU        20
  146. ddpSize                            EQU        26
  147. nbpSize                            EQU        26
  148. atpSize                            EQU        56
  149.  
  150. atpXOvalue                        EQU        32                    ;ATP exactly-once bit 
  151. atpEOMvalue                        EQU        16                    ;ATP End-Of-Message bit 
  152. atpSTSvalue                        EQU        8                    ;ATP Send-Transmission-Status bit 
  153. atpTIDValidvalue                EQU        2                    ;ATP trans. ID valid bit 
  154. atpSendChkvalue                    EQU        1                    ;ATP send checksum bit 
  155.  
  156. zipGetLocalZones                EQU        5
  157. zipGetZoneList                    EQU        6
  158. zipGetMyZone                    EQU        7
  159.  
  160. LAPMgrPtr                        EQU        $0B18                ;Entry point for LAP Manager
  161.  
  162. LAPMgrCall                        EQU        2                    ;Offset to LAP routines
  163. LAddAEQ                            EQU        23                    ;LAPAddATQ routine selector
  164. LRmvAEQ                            EQU        24                    ;LAPRmvATQ routine selector
  165.  
  166. tLAPRead                        EQU        0
  167. tLAPWrite                        EQU        1
  168. tDDPRead                        EQU        2
  169. tDDPWrite                        EQU        3
  170. tNBPLookup                        EQU        4
  171. tNBPConfirm                        EQU        5
  172. tNBPRegister                    EQU        6
  173. tATPSndRequest                    EQU        7
  174. tATPGetRequest                    EQU        8
  175. tATPSdRsp                        EQU        9
  176. tATPAddRsp                        EQU        10
  177. tATPRequest                        EQU        11
  178. tATPResponse                    EQU        12
  179. ; typedef SInt8                         ABCallType
  180.  
  181.  
  182. lapProto                        EQU        0
  183. ddpProto                        EQU        1
  184. nbpProto                        EQU        2
  185. atpProto                        EQU        3
  186. ; typedef UInt8                         ABProtoType
  187.  
  188. ; typedef Byte                             ABByte
  189.  
  190. LAPAdrBlock                RECORD 0
  191. dstNodeID                 ds.b    1                ; offset: $0 (0)
  192. srcNodeID                 ds.b    1                ; offset: $1 (1)
  193. lapProtType                 ds.b    1                ; offset: $2 (2)
  194. filler                     ds.b    1                ; offset: $3 (3)        ;     Filler for proper byte alignment
  195. sizeof                     EQU *                    ; size:   $4 (4)
  196.                         ENDR
  197.  
  198.  
  199. ; typedef ATQEntry *                    ATQEntryPtr
  200.  
  201. ; typedef ATalkTransitionEventUPP         ATalkTransitionEvent
  202.  
  203. ATQEntry                RECORD 0
  204. qLink                     ds.l    1                ; offset: $0 (0)        ; next queue entry
  205. qType                     ds.w    1                ; offset: $4 (4)        ; queue type
  206. CallAddr                 ds.l    1                ; offset: $6 (6)        ; your routine descriptor
  207. sizeof                     EQU *                    ; size:   $A (10)
  208.                         ENDR
  209. ;  
  210. ;    Real definition of EntityName is 3 PACKED strings of any length (32 is just an example). No
  211. ;    offests for Asm since each String address must be calculated by adding length byte to last string ptr.
  212. ;    In Pascal, String(32) will be 34 bytes long since fields never start on an odd byte unless they are 
  213. ;    only a byte long. So this will generate correct looking interfaces for Pascal and C, but they will not
  214. ;    be the same, which is OK since they are not used. 
  215. ;
  216.  
  217. EntityName                RECORD 0
  218. objStr                     ds        Str32Field        ; offset: $0 (0)
  219. typeStr                     ds        Str32Field        ; offset: $22 (34)
  220. zoneStr                     ds        Str32Field        ; offset: $44 (68)
  221. sizeof                     EQU *                    ; size:   $66 (102)
  222.                         ENDR
  223. ; typedef struct EntityName *            EntityPtr
  224.  
  225. AddrBlock                RECORD 0
  226. aNet                     ds.w    1                ; offset: $0 (0)
  227. aNode                     ds.b    1                ; offset: $2 (2)
  228. aSocket                     ds.b    1                ; offset: $3 (3)
  229. sizeof                     EQU *                    ; size:   $4 (4)
  230.                         ENDR
  231. RetransType                RECORD 0
  232. retransInterval             ds.b    1                ; offset: $0 (0)
  233. retransCount             ds.b    1                ; offset: $1 (1)
  234. sizeof                     EQU *                    ; size:   $2 (2)
  235.                         ENDR
  236. BDSElement                RECORD 0
  237. buffSize                 ds.w    1                ; offset: $0 (0)
  238. buffPtr                     ds.l    1                ; offset: $2 (2)
  239. dataSize                 ds.w    1                ; offset: $6 (6)
  240. userBytes                 ds.l    1                ; offset: $8 (8)
  241. sizeof                     EQU *                    ; size:   $C (12)
  242.                         ENDR
  243. BDSType                    RECORD 0
  244. elements                 ds.b    8 * BDSElement.sizeof
  245. sizeof                     EQU *                    ; size:   $60 (96)
  246.                         ENDR
  247.  
  248.  
  249. ; typedef struct BDSElement *            BDSPtr
  250.  
  251. ; typedef char                             BitMapType
  252.  
  253. ATLAPRec                RECORD 0
  254. abOpcode                 ds.b    1                ; offset: $0 (0)
  255. filler                     ds.b    1                ; offset: $1 (1)        ;     Filler for proper byte alignment
  256. abResult                 ds.w    1                ; offset: $2 (2)
  257. abUserReference             ds.l    1                ; offset: $4 (4)
  258. lapAddress                 ds        LAPAdrBlock        ; offset: $8 (8)
  259. lapReqCount                 ds.w    1                ; offset: $C (12)
  260. lapActCount                 ds.w    1                ; offset: $E (14)
  261. lapDataPtr                 ds.l    1                ; offset: $10 (16)
  262. sizeof                     EQU *                    ; size:   $14 (20)
  263.                         ENDR
  264. ; typedef struct ATLAPRec *                ATLAPRecPtr
  265.  
  266. ; typedef ATLAPRecPtr *                    ATLAPRecHandle
  267.  
  268. ATDDPRec                RECORD 0
  269. abOpcode                 ds.b    1                ; offset: $0 (0)
  270. filler                     ds.b    1                ; offset: $1 (1)        ;     Filler for proper byte alignment
  271. abResult                 ds.w    1                ; offset: $2 (2)
  272. abUserReference             ds.l    1                ; offset: $4 (4)
  273. ddpType                     ds.w    1                ; offset: $8 (8)
  274. ddpSocket                 ds.w    1                ; offset: $A (10)
  275. ddpAddress                 ds        AddrBlock        ; offset: $C (12)
  276. ddpReqCount                 ds.w    1                ; offset: $10 (16)
  277. ddpActCount                 ds.w    1                ; offset: $12 (18)
  278. ddpDataPtr                 ds.l    1                ; offset: $14 (20)
  279. ddpNodeID                 ds.w    1                ; offset: $18 (24)
  280. sizeof                     EQU *                    ; size:   $1A (26)
  281.                         ENDR
  282. ; typedef struct ATDDPRec *                ATDDPRecPtr
  283.  
  284. ; typedef ATDDPRecPtr *                    ATDDPRecHandle
  285.  
  286. ATNBPRec                RECORD 0
  287. abOpcode                 ds.b    1                ; offset: $0 (0)
  288. filler                     ds.b    1                ; offset: $1 (1)        ;     Filler for proper byte alignment
  289. abResult                 ds.w    1                ; offset: $2 (2)
  290. abUserReference             ds.l    1                ; offset: $4 (4)
  291. nbpEntityPtr             ds.l    1                ; offset: $8 (8)
  292. nbpBufPtr                 ds.l    1                ; offset: $C (12)
  293. nbpBufSize                 ds.w    1                ; offset: $10 (16)
  294. nbpDataField             ds.w    1                ; offset: $12 (18)
  295. nbpAddress                 ds        AddrBlock        ; offset: $14 (20)
  296. nbpRetransmitInfo         ds        RetransType        ; offset: $18 (24)
  297. sizeof                     EQU *                    ; size:   $1A (26)
  298.                         ENDR
  299. ; typedef struct ATNBPRec *                ATNBPRecPtr
  300.  
  301. ; typedef ATNBPRecPtr *                    ATNBPRecHandle
  302.  
  303. ATATPRec                RECORD 0
  304. abOpcode                 ds.b    1                ; offset: $0 (0)
  305. filler1                     ds.b    1                ; offset: $1 (1)        ;     Filler for proper byte alignment
  306. abResult                 ds.w    1                ; offset: $2 (2)
  307. abUserReference             ds.l    1                ; offset: $4 (4)
  308. atpSocket                 ds.w    1                ; offset: $8 (8)
  309. atpAddress                 ds        AddrBlock        ; offset: $A (10)
  310. atpReqCount                 ds.w    1                ; offset: $E (14)
  311. atpDataPtr                 ds.l    1                ; offset: $10 (16)
  312. atpRspBDSPtr             ds.l    1                ; offset: $14 (20)
  313. atpBitMap                 ds.b    1                ; offset: $18 (24)
  314. filler2                     ds.b    1                ; offset: $19 (25)        ;     Filler for proper byte alignment
  315. atpTransID                 ds.w    1                ; offset: $1A (26)
  316. atpActCount                 ds.w    1                ; offset: $1C (28)
  317. atpUserData                 ds.l    1                ; offset: $1E (30)
  318. atpXO                     ds.b    1                ; offset: $22 (34)
  319. atpEOM                     ds.b    1                ; offset: $23 (35)
  320. atpTimeOut                 ds.w    1                ; offset: $24 (36)
  321. atpRetries                 ds.w    1                ; offset: $26 (38)
  322. atpNumBufs                 ds.w    1                ; offset: $28 (40)
  323. atpNumRsp                 ds.w    1                ; offset: $2A (42)
  324. atpBDSSize                 ds.w    1                ; offset: $2C (44)
  325. atpRspUData                 ds.l    1                ; offset: $2E (46)
  326. atpRspBuf                 ds.l    1                ; offset: $32 (50)
  327. atpRspSize                 ds.w    1                ; offset: $36 (54)
  328. sizeof                     EQU *                    ; size:   $38 (56)
  329.                         ENDR
  330. ; typedef struct ATATPRec *                ATATPRecPtr
  331.  
  332. ; typedef ATATPRecPtr *                    ATATPRecHandle
  333.  
  334. AFPCommandBlock            RECORD 0
  335. cmdByte                     ds.b    1                ; offset: $0 (0)
  336. startEndFlag             ds.b    1                ; offset: $1 (1)
  337. forkRefNum                 ds.w    1                ; offset: $2 (2)
  338. rwOffset                 ds.l    1                ; offset: $4 (4)
  339. reqCount                 ds.l    1                ; offset: $8 (8)
  340. newLineFlag                 ds.b    1                ; offset: $C (12)
  341. newLineChar                 ds.b    1                ; offset: $D (13)
  342. sizeof                     EQU *                    ; size:   $E (14)
  343.                         ENDR
  344. ; typedef MPPParamBlock *                MPPPBPtr
  345.  
  346. ; typedef ATPParamBlock *                ATPPBPtr
  347.  
  348. ; typedef XPPParamBlock *                XPPParmBlkPtr
  349.  
  350.  
  351. WDSElement                RECORD 0
  352. entryLength                 ds.w    1                ; offset: $0 (0)
  353. entryPtr                 ds.l    1                ; offset: $2 (2)
  354. sizeof                     EQU *                    ; size:   $6 (6)
  355.                         ENDR
  356. NTElement                RECORD 0
  357. nteAddress                 ds        AddrBlock        ; offset: $0 (0)        ; network address of entity
  358. filler                     ds.b    1                ; offset: $4 (4)
  359. entityData                 ds.b    99                ; offset: $5 (5)        ; Object, Type & Zone
  360. sizeof                     EQU *                    ; size:   $68 (104)
  361.                         ENDR
  362. NamesTableEntry            RECORD 0
  363. qNext                     ds.l    1                ; offset: $0 (0)        ; ptr to next NTE
  364. nt                         ds        NTElement        ; offset: $4 (4)
  365. sizeof                     EQU *                    ; size:   $6C (108)
  366.                         ENDR
  367. ;    MPPProtocolHandlerProcs and  DDPSocketListenerProcs cannot be written 
  368. ;    in or called from a high-level language without the help of mixed mode 
  369. ;    or assembly glue because they use the following parameter-passing conventions:
  370. ;
  371. ;    typedef Boolean (*MPPProtocolHandlerProcPtr)(Ptr SCCAddr1, Ptr SCCAddr2, 
  372. ;            Ptr MPPLocalVars, Ptr nextFreeByteInRHA, Ptr ReadPacketAndReadRestPtr, 
  373. ;            short numBytesLeftToReadInPacket);
  374. ;
  375. ;        In:
  376. ;            =>    SCCAddr1                    A0.L
  377. ;            =>    SCCAddr2                    A1.L
  378. ;            =>    MPPLocalVars                A2.L
  379. ;            =>    nextFreeByteInRHA            A3.L
  380. ;            =>    ReadPacketAndReadRestPtr    A4.L
  381. ;            =>    numBytesLeftToReadInPacket    D1.W
  382. ;        Out:
  383. ;            <=    Boolean                        Z bit of CCR
  384. ;
  385. ;    typedef Boolean (*DDPSocketListenerProcPtr)(Ptr SCCAddr1, Ptr SCCAddr2, 
  386. ;            Ptr MPPLocalVars, Ptr nextFreeByteInRHA, Ptr ReadPacketAndReadRestPtr, 
  387. ;            UInt8 packetDestinationNumber, short numBytesLeftToReadInPacket);
  388. ;
  389. ;        In:
  390. ;            =>    SCCAddr1                    A0.L
  391. ;            =>    SCCAddr2                    A1.L
  392. ;            =>    MPPLocalVars                A2.L
  393. ;            =>    nextFreeByteInRHA            A3.L
  394. ;            =>    ReadPacketAndReadRestPtr    A4.L
  395. ;            =>    packetDestinationNumber        D0.B
  396. ;            =>    numBytesLeftToReadInPacket    D1.W
  397. ;        Out:
  398. ;            <=    Boolean                        Z bit of CCR
  399. ;
  400. ;
  401.  
  402. MPPParamBlock            RECORD 0
  403. qLink                     ds.l    1                ; offset: $0 (0)        ; next queue entry
  404. qType                     ds.w    1                ; offset: $4 (4)        ; queue type
  405. ioTrap                     ds.w    1                ; offset: $6 (6)        ; routine trap
  406. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; routine address
  407. ioCompletion             ds.l    1                ; offset: $C (12)        ; ATPCompletionUPP or MPPCompletionUPP
  408. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  409. userData                 ds.l    1                ; offset: $12 (18)        ; Command result (ATP user bytes)
  410. reqTID                     ds.w    1                ; offset: $16 (22)        ; request transaction ID
  411. ioRefNum                 ds.w    1                ; offset: $18 (24)        ; driver reference number
  412. csCode                     ds.w    1                ; offset: $1A (26)        ; Call command code
  413. filler0                     ds.w    1                ; offset: $1C (28)
  414. wdsPointer                 ds.l    1                ; offset: $1E (30)
  415.                          ORG 28
  416. protType                 ds.b    1                ; offset: $1C (28)
  417. filler                     ds.b    1                ; offset: $1D (29)
  418. handler                     ds.l    1                ; offset: $1E (30)
  419.                          ORG 28
  420. socket                     ds.b    1                ; offset: $1C (28)
  421. checksumFlag             ds.b    1                ; offset: $1D (29)
  422. listener                 ds.l    1                ; offset: $1E (30)
  423.                          ORG 28
  424. interval                 ds.b    1                ; offset: $1C (28)        ; retry interval 
  425. count                     ds.b    1                ; offset: $1D (29)        ; retry count 
  426. nbpPtrs                     ds.l    1                ; offset: $1E (30)
  427. verifyFlag                 ds.b    1                ; offset: $22 (34)
  428. filler3                     ds.b    1                ; offset: $23 (35)
  429.                          ORG 34
  430. retBuffPtr                 ds.l    1                ; offset: $22 (34)
  431. retBuffSize                 ds.w    1                ; offset: $26 (38)
  432. maxToGet                 ds.w    1                ; offset: $28 (40)
  433. numGotten                 ds.w    1                ; offset: $2A (42)
  434.                          ORG 34
  435. confirmAddr                 ds        AddrBlock        ; offset: $22 (34)
  436. newSocket                 ds.b    1                ; offset: $26 (38)
  437. filler4                     ds.b    1                ; offset: $27 (39)
  438.                          ORG 44
  439.                          ORG 28
  440. newSelfFlag                 ds.b    1                ; offset: $1C (28)        ; self-send toggle flag 
  441. oldSelfFlag                 ds.b    1                ; offset: $1D (29)        ; previous self-send state 
  442.                          ORG 28
  443. nKillQEl                 ds.l    1                ; offset: $1C (28)        ; ptr to i/o queue element to cancel 
  444.                          ORG 28
  445. version                     ds.w    1                ; offset: $1C (28)        ; requested info version
  446. varsPtr                     ds.l    1                ; offset: $1E (30)        ; pointer to well known MPP vars
  447. DCEPtr                     ds.l    1                ; offset: $22 (34)        ; pointer to MPP DCE
  448. portID                     ds.w    1                ; offset: $26 (38)        ; port number [0..7]
  449. configuration             ds.l    1                ; offset: $28 (40)        ; 32-bit configuration word
  450. selfSend                 ds.w    1                ; offset: $2C (44)        ; non zero if SelfSend enabled
  451. netLo                     ds.w    1                ; offset: $2E (46)        ; low value of network range
  452. netHi                     ds.w    1                ; offset: $30 (48)        ; high value of network range
  453. ourAdd                     ds.l    1                ; offset: $32 (50)        ; our 24-bit AppleTalk address
  454. routerAddr                 ds.l    1                ; offset: $36 (54)        ; 24-bit address of (last) router
  455. numOfPHs                 ds.w    1                ; offset: $3A (58)        ; max. number of protocol handlers
  456. numOfSkts                 ds.w    1                ; offset: $3C (60)        ; max. number of static sockets
  457. numNBPEs                 ds.w    1                ; offset: $3E (62)        ; max. concurrent NBP requests
  458. nTQueue                     ds.l    1                ; offset: $40 (64)        ; pointer to registered name queue
  459. LAlength                 ds.w    1                ; offset: $44 (68)        ; length in bytes of data link addr
  460. linkAddr                 ds.l    1                ; offset: $46 (70)        ; data link address returned
  461. zoneName                 ds.l    1                ; offset: $4A (74)        ; zone name returned
  462.                          ORG 28
  463. appName                     ds.l    1                ; offset: $1C (28)        ; pointer to application name in buffer
  464.                          ORG 78
  465. sizeof                     EQU *                    ; size:   $4E (78)
  466.                         ENDR
  467.  
  468. XPPParamBlock            RECORD 0
  469. qLink                     ds.l    1                ; offset: $0 (0)
  470. qType                     ds.w    1                ; offset: $4 (4)
  471. ioTrap                     ds.w    1                ; offset: $6 (6)
  472. ioCmdAddr                 ds.l    1                ; offset: $8 (8)
  473. ioCompletion             ds.l    1                ; offset: $C (12)
  474. ioResult                 ds.w    1                ; offset: $10 (16)
  475. cmdResult                 ds.l    1                ; offset: $12 (18)
  476. ioVRefNum                 ds.w    1                ; offset: $16 (22)
  477. ioRefNum                 ds.w    1                ; offset: $18 (24)
  478. csCode                     ds.w    1                ; offset: $1A (26)
  479. abortSCBPtr                 ds.l    1                ; offset: $1C (28)        ;  SCB pointer for AbortOS
  480.                          ORG 28
  481. aspMaxCmdSize             ds.w    1                ; offset: $1C (28)        ; For SPGetParms
  482. aspQuantumSize             ds.w    1                ; offset: $1E (30)
  483. numSesss                 ds.w    1                ; offset: $20 (32)
  484.                          ORG 28
  485. sessRefnum                 ds.w    1                ; offset: $1C (28)        ; Offset to session refnum 
  486. aspTimeout                 ds.b    1                ; offset: $1E (30)        ; Timeout for ATP 
  487. aspRetry                 ds.b    1                ; offset: $1F (31)        ; Retry count for ATP 
  488. serverAddr                 ds        AddrBlock        ; offset: $20 (32)        ; Server address block 
  489. scbPointer                 ds.l    1                ; offset: $24 (36)        ; SCB pointer 
  490. attnRoutine                 ds.l    1                ; offset: $28 (40)        ; Attention routine pointer
  491.                          ORG 32
  492. cbSize                     ds.w    1                ; offset: $20 (32)        ; Command block size 
  493. cbPtr                     ds.l    1                ; offset: $22 (34)        ; Command block pointer 
  494. rbSize                     ds.w    1                ; offset: $26 (38)        ; Reply buffer size 
  495. rbPtr                     ds.l    1                ; offset: $28 (40)        ; Reply buffer pointer 
  496. afpAddrBlock             ds        AddrBlock        ; offset: $2C (44)        ; block in AFP login 
  497. afpSCBPtr                 ds.l    1                ; offset: $30 (48)        ; SCB pointer in AFP login 
  498. afpAttnRoutine             ds.l    1                ; offset: $34 (52)        ; routine pointer in AFP login 
  499.                          ORG 44
  500. wdSize                     ds.w    1                ; offset: $2C (44)        ; Write Data size
  501. wdPtr                     ds.l    1                ; offset: $2E (46)        ; Write Data pointer
  502. ccbStart                 ds.b    296                ; offset: $32 (50)        ; CCB memory allocated for driver afpWrite max size(CCB)=296 all other calls=150
  503.                          ORG 28
  504. xppSubCode                 ds.w    1                ; offset: $1C (28)
  505. xppTimeout                 ds.b    1                ; offset: $1E (30)        ; retry interval (seconds)
  506. xppRetry                 ds.b    1                ; offset: $1F (31)        ; retry count
  507. filler1                     ds.w    1                ; offset: $20 (32)
  508. zipBuffPtr                 ds.l    1                ; offset: $22 (34)        ; pointer to buffer (must be 578 bytes)
  509. zipNumZones                 ds.w    1                ; offset: $26 (38)        ; no. of zone names in this response
  510. zipLastFlag                 ds.b    1                ; offset: $28 (40)        ; non-zero if no more zones
  511. filler2                     ds.b    1                ; offset: $29 (41)        ; filler
  512. zipInfoField             ds.b    70                ; offset: $2A (42)        ; on initial call, set first word to zero
  513.                          ORG 346
  514. sizeof                     EQU *                    ; size:   $15A (346)
  515.                         ENDR
  516. ATPParamBlock            RECORD 0
  517. qLink                     ds.l    1                ; offset: $0 (0)        ; next queue entry
  518. qType                     ds.w    1                ; offset: $4 (4)        ; queue type
  519. ioTrap                     ds.w    1                ; offset: $6 (6)        ; routine trap
  520. ioCmdAddr                 ds.l    1                ; offset: $8 (8)        ; routine address
  521. ioCompletion             ds.l    1                ; offset: $C (12)        ; ATPCompletionUPP or MPPCompletionUPP
  522. ioResult                 ds.w    1                ; offset: $10 (16)        ; result code
  523. userData                 ds.l    1                ; offset: $12 (18)        ; Command result (ATP user bytes)
  524. reqTID                     ds.w    1                ; offset: $16 (22)        ; request transaction ID
  525. ioRefNum                 ds.w    1                ; offset: $18 (24)        ; driver reference number
  526. csCode                     ds.w    1                ; offset: $1A (26)        ; Call command code
  527. atpSocket                 ds.b    1                ; offset: $1C (28)        ; currbitmap for requests or ATP socket number
  528. atpFlags                 ds.b    1                ; offset: $1D (29)        ; control information
  529. addrBlock                 ds        AddrBlock        ; offset: $1E (30)        ; source/dest. socket address
  530. reqLength                 ds.w    1                ; offset: $22 (34)        ; request/response length
  531. reqPointer                 ds.l    1                ; offset: $24 (36)        ; ->request/response Data
  532. bdsPointer                 ds.l    1                ; offset: $28 (40)        ; ->response BDS 
  533. numOfBuffs                 ds.b    1                ; offset: $2C (44)        ; numOfBuffs 
  534. timeOutVal                 ds.b    1                ; offset: $2D (45)        ; timeout interval 
  535. numOfResps                 ds.b    1                ; offset: $2E (46)        ; number of responses actually received 
  536. retryCount                 ds.b    1                ; offset: $2F (47)        ; number of retries 
  537. intBuff                     ds.w    1                ; offset: $30 (48)        ; used internally for NSendRequest 
  538. TRelTime                 ds.b    1                ; offset: $32 (50)        ; TRelease time for extended send request 
  539. filler0                     ds.b    1                ; offset: $33 (51)
  540.                          ORG 44
  541. filler                     ds.b    1                ; offset: $2C (44)
  542. bdsSize                     ds.b    1                ; offset: $2D (45)        ; number of BDS elements 
  543. transID                     ds.w    1                ; offset: $2E (46)        ; transaction ID recd. 
  544.                          ORG 44
  545. bitMap                     ds.b    1                ; offset: $2C (44)
  546. filler2                     ds.b    1                ; offset: $2D (45)
  547.                          ORG 44
  548. rspNum                     ds.b    1                ; offset: $2C (44)
  549. filler3                     ds.b    1                ; offset: $2D (45)
  550.                          ORG 44
  551. aKillQEl                 ds.l    1                ; offset: $2C (44)        ; ptr to i/o queue element to cancel
  552.                          ORG 52
  553. sizeof                     EQU *                    ; size:   $34 (52)
  554.                         ENDR
  555. ;
  556. ; pascal OSErr OpenXPP(short *xppRefnum)
  557. ;
  558.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  559.         IMPORT_CFM_FUNCTION OpenXPP
  560.     ENDIF
  561.  
  562. ;
  563. ; pascal OSErr ASPOpenSession(XPPParmBlkPtr thePBptr, Boolean async)
  564. ;
  565.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  566.         IMPORT_CFM_FUNCTION ASPOpenSession
  567.     ENDIF
  568.  
  569. ;
  570. ; pascal OSErr ASPCloseSession(XPPParmBlkPtr thePBptr, Boolean async)
  571. ;
  572.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  573.         IMPORT_CFM_FUNCTION ASPCloseSession
  574.     ENDIF
  575.  
  576. ;
  577. ; pascal OSErr ASPAbortOS(XPPParmBlkPtr thePBptr, Boolean async)
  578. ;
  579.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  580.         IMPORT_CFM_FUNCTION ASPAbortOS
  581.     ENDIF
  582.  
  583. ;
  584. ; pascal OSErr ASPGetParms(XPPParmBlkPtr thePBptr, Boolean async)
  585. ;
  586.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  587.         IMPORT_CFM_FUNCTION ASPGetParms
  588.     ENDIF
  589.  
  590. ;
  591. ; pascal OSErr ASPCloseAll(XPPParmBlkPtr thePBptr, Boolean async)
  592. ;
  593.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  594.         IMPORT_CFM_FUNCTION ASPCloseAll
  595.     ENDIF
  596.  
  597. ;
  598. ; pascal OSErr ASPUserWrite(XPPParmBlkPtr thePBptr, Boolean async)
  599. ;
  600.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  601.         IMPORT_CFM_FUNCTION ASPUserWrite
  602.     ENDIF
  603.  
  604. ;
  605. ; pascal OSErr ASPUserCommand(XPPParmBlkPtr thePBptr, Boolean async)
  606. ;
  607.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  608.         IMPORT_CFM_FUNCTION ASPUserCommand
  609.     ENDIF
  610.  
  611. ;
  612. ; pascal OSErr ASPGetStatus(XPPParmBlkPtr thePBptr, Boolean async)
  613. ;
  614.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  615.         IMPORT_CFM_FUNCTION ASPGetStatus
  616.     ENDIF
  617.  
  618. ;
  619. ; pascal OSErr AFPCommand(XPPParmBlkPtr thePBptr, Boolean async)
  620. ;
  621.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  622.         IMPORT_CFM_FUNCTION AFPCommand
  623.     ENDIF
  624.  
  625. ;
  626. ; pascal OSErr GetLocalZones(XPPParmBlkPtr thePBptr, Boolean async)
  627. ;
  628.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  629.         IMPORT_CFM_FUNCTION GetLocalZones
  630.     ENDIF
  631.  
  632. ;
  633. ; pascal OSErr GetZoneList(XPPParmBlkPtr thePBptr, Boolean async)
  634. ;
  635.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  636.         IMPORT_CFM_FUNCTION GetZoneList
  637.     ENDIF
  638.  
  639. ;
  640. ; pascal OSErr GetMyZone(XPPParmBlkPtr thePBptr, Boolean async)
  641. ;
  642.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  643.         IMPORT_CFM_FUNCTION GetMyZone
  644.     ENDIF
  645.  
  646. ;
  647. ; pascal OSErr PAttachPH(MPPPBPtr thePBptr, Boolean async)
  648. ;
  649.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  650.         IMPORT_CFM_FUNCTION PAttachPH
  651.     ENDIF
  652.  
  653. ;
  654. ; pascal OSErr PDetachPH(MPPPBPtr thePBptr, Boolean async)
  655. ;
  656.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  657.         IMPORT_CFM_FUNCTION PDetachPH
  658.     ENDIF
  659.  
  660. ;
  661. ; pascal OSErr PWriteLAP(MPPPBPtr thePBptr, Boolean async)
  662. ;
  663.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  664.         IMPORT_CFM_FUNCTION PWriteLAP
  665.     ENDIF
  666.  
  667. ;
  668. ; pascal OSErr POpenSkt(MPPPBPtr thePBptr, Boolean async)
  669. ;
  670.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  671.         IMPORT_CFM_FUNCTION POpenSkt
  672.     ENDIF
  673.  
  674. ;
  675. ; pascal OSErr PCloseSkt(MPPPBPtr thePBptr, Boolean async)
  676. ;
  677.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  678.         IMPORT_CFM_FUNCTION PCloseSkt
  679.     ENDIF
  680.  
  681. ;
  682. ; pascal OSErr PWriteDDP(MPPPBPtr thePBptr, Boolean async)
  683. ;
  684.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  685.         IMPORT_CFM_FUNCTION PWriteDDP
  686.     ENDIF
  687.  
  688. ;
  689. ; pascal OSErr PRegisterName(MPPPBPtr thePBptr, Boolean async)
  690. ;
  691.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  692.         IMPORT_CFM_FUNCTION PRegisterName
  693.     ENDIF
  694.  
  695. ;
  696. ; pascal OSErr PLookupName(MPPPBPtr thePBptr, Boolean async)
  697. ;
  698.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  699.         IMPORT_CFM_FUNCTION PLookupName
  700.     ENDIF
  701.  
  702. ;
  703. ; pascal OSErr PConfirmName(MPPPBPtr thePBptr, Boolean async)
  704. ;
  705.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  706.         IMPORT_CFM_FUNCTION PConfirmName
  707.     ENDIF
  708.  
  709. ;
  710. ; pascal OSErr PRemoveName(MPPPBPtr thePBptr, Boolean async)
  711. ;
  712.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  713.         IMPORT_CFM_FUNCTION PRemoveName
  714.     ENDIF
  715.  
  716. ;
  717. ; pascal OSErr PSetSelfSend(MPPPBPtr thePBptr, Boolean async)
  718. ;
  719.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  720.         IMPORT_CFM_FUNCTION PSetSelfSend
  721.     ENDIF
  722.  
  723. ;
  724. ; pascal OSErr PKillNBP(MPPPBPtr thePBptr, Boolean async)
  725. ;
  726.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  727.         IMPORT_CFM_FUNCTION PKillNBP
  728.     ENDIF
  729.  
  730. ;
  731. ; pascal OSErr PGetAppleTalkInfo(MPPPBPtr thePBptr, Boolean async)
  732. ;
  733.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  734.         IMPORT_CFM_FUNCTION PGetAppleTalkInfo
  735.     ENDIF
  736.  
  737. ;
  738. ; pascal OSErr PATalkClosePrep(MPPPBPtr thePBptr, Boolean async)
  739. ;
  740.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  741.         IMPORT_CFM_FUNCTION PATalkClosePrep
  742.     ENDIF
  743.  
  744. ;
  745. ; pascal OSErr POpenATPSkt(ATPPBPtr thePBptr, Boolean async)
  746. ;
  747.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  748.         IMPORT_CFM_FUNCTION POpenATPSkt
  749.     ENDIF
  750.  
  751. ;
  752. ; pascal OSErr PCloseATPSkt(ATPPBPtr thePBPtr, Boolean async)
  753. ;
  754.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  755.         IMPORT_CFM_FUNCTION PCloseATPSkt
  756.     ENDIF
  757.  
  758. ;
  759. ; pascal OSErr PSendRequest(ATPPBPtr thePBPtr, Boolean async)
  760. ;
  761.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  762.         IMPORT_CFM_FUNCTION PSendRequest
  763.     ENDIF
  764.  
  765. ;
  766. ; pascal OSErr PGetRequest(ATPPBPtr thePBPtr, Boolean async)
  767. ;
  768.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  769.         IMPORT_CFM_FUNCTION PGetRequest
  770.     ENDIF
  771.  
  772. ;
  773. ; pascal OSErr PSendResponse(ATPPBPtr thePBPtr, Boolean async)
  774. ;
  775.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  776.         IMPORT_CFM_FUNCTION PSendResponse
  777.     ENDIF
  778.  
  779. ;
  780. ; pascal OSErr PAddResponse(ATPPBPtr thePBPtr, Boolean async)
  781. ;
  782.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  783.         IMPORT_CFM_FUNCTION PAddResponse
  784.     ENDIF
  785.  
  786. ;
  787. ; pascal OSErr PRelTCB(ATPPBPtr thePBPtr, Boolean async)
  788. ;
  789.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  790.         IMPORT_CFM_FUNCTION PRelTCB
  791.     ENDIF
  792.  
  793. ;
  794. ; pascal OSErr PRelRspCB(ATPPBPtr thePBPtr, Boolean async)
  795. ;
  796.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  797.         IMPORT_CFM_FUNCTION PRelRspCB
  798.     ENDIF
  799.  
  800. ;
  801. ; pascal OSErr PNSendRequest(ATPPBPtr thePBPtr, Boolean async)
  802. ;
  803.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  804.         IMPORT_CFM_FUNCTION PNSendRequest
  805.     ENDIF
  806.  
  807. ;
  808. ; pascal OSErr PKillSendReq(ATPPBPtr thePBPtr, Boolean async)
  809. ;
  810.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  811.         IMPORT_CFM_FUNCTION PKillSendReq
  812.     ENDIF
  813.  
  814. ;
  815. ; pascal OSErr PKillGetReq(ATPPBPtr thePBPtr, Boolean async)
  816. ;
  817.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  818.         IMPORT_CFM_FUNCTION PKillGetReq
  819.     ENDIF
  820.  
  821. ;
  822. ; pascal OSErr ATPKillAllGetReq(ATPPBPtr thePBPtr, Boolean async)
  823. ;
  824.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  825.         IMPORT_CFM_FUNCTION ATPKillAllGetReq
  826.     ENDIF
  827.  
  828. ;
  829. ; pascal void BuildLAPwds(Ptr wdsPtr, Ptr dataPtr, short destHost, short prototype, short frameLen)
  830. ;
  831.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  832.         IMPORT_CFM_FUNCTION BuildLAPwds
  833.     ENDIF
  834.  
  835. ;
  836. ; pascal void BuildDDPwds(Ptr wdsPtr, Ptr headerPtr, Ptr dataPtr, AddrBlock netAddr, short ddpType, short dataLen)
  837. ;
  838.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  839.         IMPORT_CFM_FUNCTION BuildDDPwds
  840.     ENDIF
  841.  
  842. ;
  843. ; pascal void NBPSetEntity(Ptr buffer, ConstStr32Param nbpObject, ConstStr32Param nbpType, ConstStr32Param nbpZone)
  844. ;
  845.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  846.         IMPORT_CFM_FUNCTION NBPSetEntity
  847.     ENDIF
  848.  
  849. ;
  850. ; pascal void NBPSetNTE(Ptr ntePtr, ConstStr32Param nbpObject, ConstStr32Param nbpType, ConstStr32Param nbpZone, short socket)
  851. ;
  852.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  853.         IMPORT_CFM_FUNCTION NBPSetNTE
  854.     ENDIF
  855.  
  856. ;
  857. ; pascal short GetBridgeAddress(void )
  858. ;
  859.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  860.         IMPORT_CFM_FUNCTION GetBridgeAddress
  861.     ENDIF
  862.  
  863. ;
  864. ; pascal short BuildBDS(Ptr buffPtr, Ptr bdsPtr, short buffSize)
  865. ;
  866.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  867.         IMPORT_CFM_FUNCTION BuildBDS
  868.     ENDIF
  869.  
  870. ;
  871. ; pascal OSErr MPPOpen(void )
  872. ;
  873.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  874.         IMPORT_CFM_FUNCTION MPPOpen
  875.     ENDIF
  876.  
  877. ;
  878. ; pascal OSErr LAPAddATQ(ATQEntryPtr theATQEntry)
  879. ;
  880.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  881.         IMPORT_CFM_FUNCTION LAPAddATQ
  882.     ENDIF
  883.  
  884. ;
  885. ; pascal OSErr LAPRmvATQ(ATQEntryPtr theATQEntry)
  886. ;
  887.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  888.         IMPORT_CFM_FUNCTION LAPRmvATQ
  889.     ENDIF
  890.  
  891. ;
  892. ; pascal OSErr ATPLoad(void )
  893. ;
  894.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  895.         IMPORT_CFM_FUNCTION ATPLoad
  896.     ENDIF
  897.  
  898. ;
  899. ; pascal OSErr ATPUnload(void )
  900. ;
  901.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  902.         IMPORT_CFM_FUNCTION ATPUnload
  903.     ENDIF
  904.  
  905. ;
  906. ; pascal OSErr NBPExtract(Ptr theBuffer, short numInBuf, short whichOne, EntityName *abEntity, AddrBlock *address)
  907. ;
  908.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  909.         IMPORT_CFM_FUNCTION NBPExtract
  910.     ENDIF
  911.  
  912. ;
  913. ; pascal OSErr GetNodeAddress(short *myNode, short *myNet)
  914. ;
  915.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  916.         IMPORT_CFM_FUNCTION GetNodeAddress
  917.     ENDIF
  918.  
  919. ;
  920. ; pascal Boolean IsMPPOpen(void )
  921. ;
  922.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  923.         IMPORT_CFM_FUNCTION IsMPPOpen
  924.     ENDIF
  925.  
  926. ;
  927. ; pascal Boolean IsATPOpen(void )
  928. ;
  929.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  930.         IMPORT_CFM_FUNCTION IsATPOpen
  931.     ENDIF
  932.  
  933. ;
  934. ; pascal void ATEvent(long event, Ptr infoPtr)
  935. ;
  936.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  937.         IMPORT_CFM_FUNCTION ATEvent
  938.     ENDIF
  939.  
  940. ;
  941. ; pascal OSErr ATPreFlightEvent(long event, long cancel, Ptr infoPtr)
  942. ;
  943.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  944.         IMPORT_CFM_FUNCTION ATPreFlightEvent
  945.     ENDIF
  946.  
  947. ;    The following routines are obsolete and will not be supported on
  948. ;    PowerPC. Equivalent functionality is provided by the routines
  949. ;    above.
  950. ;
  951.  
  952.     IF TARGET_CPU_68K THEN
  953. ;
  954. ; pascal OSErr MPPClose(void )
  955. ;
  956.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  957.         IMPORT_CFM_FUNCTION MPPClose
  958.     ENDIF
  959.  
  960. ;
  961. ; pascal OSErr LAPOpenProtocol(ABByte theLAPType, Ptr protoPtr)
  962. ;
  963.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  964.         IMPORT_CFM_FUNCTION LAPOpenProtocol
  965.     ENDIF
  966.  
  967. ;
  968. ; pascal OSErr LAPCloseProtocol(ABByte theLAPType)
  969. ;
  970.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  971.         IMPORT_CFM_FUNCTION LAPCloseProtocol
  972.     ENDIF
  973.  
  974. ;
  975. ; pascal OSErr LAPWrite(ATLAPRecHandle abRecord, Boolean async)
  976. ;
  977.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  978.         IMPORT_CFM_FUNCTION LAPWrite
  979.     ENDIF
  980.  
  981. ;
  982. ; pascal OSErr LAPRead(ATLAPRecHandle abRecord, Boolean async)
  983. ;
  984.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  985.         IMPORT_CFM_FUNCTION LAPRead
  986.     ENDIF
  987.  
  988. ;
  989. ; pascal OSErr LAPRdCancel(ATLAPRecHandle abRecord)
  990. ;
  991.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  992.         IMPORT_CFM_FUNCTION LAPRdCancel
  993.     ENDIF
  994.  
  995. ;
  996. ; pascal OSErr DDPOpenSocket(short *theSocket, Ptr sktListener)
  997. ;
  998.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  999.         IMPORT_CFM_FUNCTION DDPOpenSocket
  1000.     ENDIF
  1001.  
  1002. ;
  1003. ; pascal OSErr DDPCloseSocket(short theSocket)
  1004. ;
  1005.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1006.         IMPORT_CFM_FUNCTION DDPCloseSocket
  1007.     ENDIF
  1008.  
  1009. ;
  1010. ; pascal OSErr DDPRead(ATDDPRecHandle abRecord, Boolean retCksumErrs, Boolean async)
  1011. ;
  1012.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1013.         IMPORT_CFM_FUNCTION DDPRead
  1014.     ENDIF
  1015.  
  1016. ;
  1017. ; pascal OSErr DDPWrite(ATDDPRecHandle abRecord, Boolean doChecksum, Boolean async)
  1018. ;
  1019.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1020.         IMPORT_CFM_FUNCTION DDPWrite
  1021.     ENDIF
  1022.  
  1023. ;
  1024. ; pascal OSErr DDPRdCancel(ATDDPRecHandle abRecord)
  1025. ;
  1026.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1027.         IMPORT_CFM_FUNCTION DDPRdCancel
  1028.     ENDIF
  1029.  
  1030. ;
  1031. ; pascal OSErr ATPOpenSocket(AddrBlock addrRcvd, short *atpSocket)
  1032. ;
  1033.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1034.         IMPORT_CFM_FUNCTION ATPOpenSocket
  1035.     ENDIF
  1036.  
  1037. ;
  1038. ; pascal OSErr ATPCloseSocket(short atpSocket)
  1039. ;
  1040.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1041.         IMPORT_CFM_FUNCTION ATPCloseSocket
  1042.     ENDIF
  1043.  
  1044. ;
  1045. ; pascal OSErr ATPSndRequest(ATATPRecHandle abRecord, Boolean async)
  1046. ;
  1047.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1048.         IMPORT_CFM_FUNCTION ATPSndRequest
  1049.     ENDIF
  1050.  
  1051. ;
  1052. ; pascal OSErr ATPRequest(ATATPRecHandle abRecord, Boolean async)
  1053. ;
  1054.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1055.         IMPORT_CFM_FUNCTION ATPRequest
  1056.     ENDIF
  1057.  
  1058. ;
  1059. ; pascal OSErr ATPReqCancel(ATATPRecHandle abRecord, Boolean async)
  1060. ;
  1061.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1062.         IMPORT_CFM_FUNCTION ATPReqCancel
  1063.     ENDIF
  1064.  
  1065. ;
  1066. ; pascal OSErr ATPGetRequest(ATATPRecHandle abRecord, Boolean async)
  1067. ;
  1068.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1069.         IMPORT_CFM_FUNCTION ATPGetRequest
  1070.     ENDIF
  1071.  
  1072. ;
  1073. ; pascal OSErr ATPSndRsp(ATATPRecHandle abRecord, Boolean async)
  1074. ;
  1075.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1076.         IMPORT_CFM_FUNCTION ATPSndRsp
  1077.     ENDIF
  1078.  
  1079. ;
  1080. ; pascal OSErr ATPAddRsp(ATATPRecHandle abRecord)
  1081. ;
  1082.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1083.         IMPORT_CFM_FUNCTION ATPAddRsp
  1084.     ENDIF
  1085.  
  1086. ;
  1087. ; pascal OSErr ATPResponse(ATATPRecHandle abRecord, Boolean async)
  1088. ;
  1089.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1090.         IMPORT_CFM_FUNCTION ATPResponse
  1091.     ENDIF
  1092.  
  1093. ;
  1094. ; pascal OSErr ATPRspCancel(ATATPRecHandle abRecord, Boolean async)
  1095. ;
  1096.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1097.         IMPORT_CFM_FUNCTION ATPRspCancel
  1098.     ENDIF
  1099.  
  1100. ;
  1101. ; pascal OSErr NBPRegister(ATNBPRecHandle abRecord, Boolean async)
  1102. ;
  1103.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1104.         IMPORT_CFM_FUNCTION NBPRegister
  1105.     ENDIF
  1106.  
  1107. ;
  1108. ; pascal OSErr NBPLookup(ATNBPRecHandle abRecord, Boolean async)
  1109. ;
  1110.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1111.         IMPORT_CFM_FUNCTION NBPLookup
  1112.     ENDIF
  1113.  
  1114. ;
  1115. ; pascal OSErr NBPConfirm(ATNBPRecHandle abRecord, Boolean async)
  1116. ;
  1117.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1118.         IMPORT_CFM_FUNCTION NBPConfirm
  1119.     ENDIF
  1120.  
  1121. ;
  1122. ; pascal OSErr NBPRemove(EntityPtr abEntity)
  1123. ;
  1124.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1125.         IMPORT_CFM_FUNCTION NBPRemove
  1126.     ENDIF
  1127.  
  1128. ;
  1129. ; pascal OSErr NBPLoad(void )
  1130. ;
  1131.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1132.         IMPORT_CFM_FUNCTION NBPLoad
  1133.     ENDIF
  1134.  
  1135. ;
  1136. ; pascal OSErr NBPUnload(void )
  1137. ;
  1138.     IF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1139.         IMPORT_CFM_FUNCTION NBPUnload
  1140.     ENDIF
  1141.  
  1142.     ENDIF    ; TARGET_CPU_68K
  1143.     ENDIF ; __APPLETALK__ 
  1144.  
  1145.